package com.dks.models.student;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.time.LocalDateTime;

@Data
public class UserClassHourPackage{

    /**  */
    private long id;
    /** 课时包id */
    private long classHourPackageId;
    /**
     * 课时包名称
     */
    private String classHourPackageName;
    /** 转移人id */
    private Long transferUserId;
    /** 赠送人id */
    private Long giveUserId;
    /** 可用课时数(乘十倍处理，方便计算可能为小数) */
    private Integer availableClassHourCount;
    /** 冻结课时数(乘十倍处理，方便计算可能为小数) */
    private Integer frozenClassHourCount;
    /** 已用课时数(乘十倍处理，方便计算可能为小数) */
    private Integer usedClassHourCount;
    /** 已用课时数(乘十倍处理，方便计算可能为小数) */
    private Integer paymentAmount;
    /** 代金券id */
    private Long cashCouponId;
    /** 付款状态：0.支付中 1.支付成功 2.支付失败 */
    private Integer payStatus;
    /** 付款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime payTime;
    /** 开卡时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime openCardTime;
    /** 到期时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime expireTime;
    /** 开通状态：0.未开通 1.已开通 */
    private Integer openStatus;
    /** 转移状态：0.未转移 1.转移申请 2.转移申请成功 3.转移申请失败 4.取消转移 */
    private Integer transferStatus;
    /** 退款状态：0.未退款 1.退款申请 2.退款申请成功 3.退款申请失败 */
    private Integer refundStatus;
    /** 退款申请时间 */
    private LocalDateTime refundTime;
    /** 创建人 */
    private Long createUserId;
    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime gmtCreateTime;
    /** 修改人 */
    private Long modifyUserId;
    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime gmtModifyTime;
    /** 有效状态 0可用 1不可用 */
    private Integer recStatus;

}
